1
Au-delà du code spécifique à la plateforme
AI013Lesson 8
00:00

Historiquement, le C++ ne disposait pas d'une méthode unifiée pour interagir avec les services matériels, contraignant les développeurs à « silos de plateformes » où les bases de code étaient fragmentées par des API spécifiques au système d'exploitation comme Win32 ou POSIX. Cette diapositive marque le passage vers une ère moderne où la Bibliothèque standard C++ agit comme une couche d'abstraction universelle.

1. La fin du spaghetti #ifdef

Avant la normalisation, des tâches simples telles que lancer un thread ou naviguer dans un répertoire nécessitaient des macros du préprocesseur pour gérer des en-têtes système divergents (par exemple, <windows.h> ou <pthread.h>). Cela a conduit à un code volumineux et difficile à maintenir.

2. Le changement de paradigme C++11

La norme a commencé à reprendre le contrôle sur les ressources système. Plus précisément, le C++11 a ajouté des fonctionnalités de concurrence de haut niveau incluant std::thread, std::mutex et std::future, ce qui a standardisé la relation du langage avec le processeur.

Ancien (Fragmenté)#ifdef _WIN32CreateThread(...);#elsepthread_create(...);#endifModerne (Standardisé)std::thread t(tâche);

3. Découplage de la logique des fournisseurs

En dépassant le code spécifique à la plateforme, la Bibliothèque standard offre une garantie « écrivez une fois, compilez partout ». La charge de la maintenance de la plateforme passe du développeur au fournisseur du compilateur.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>